package admin

import (
	adminModel "github.com/cn-joyconn/goadmin/models/admin"
	defaultOrm "github.com/cn-joyconn/goadmin/models/defaultOrm"
)

type XAdminPermissionInfoService struct {
}

/**
*添加应用的权限标识列表
* @param record 应用实例
* @return 结果 1:成功 小于1:失败
 */
func (service *XAdminPermissionInfoService) Updates(appid int, version int64, records []adminModel.XAdminPermissionInfo) {
	defaultOrm.DB.Where("f_appid = ? and f_version < ?", appid, version).Delete(&adminModel.XAdminPermissionInfo{})
	var total int64
	err := defaultOrm.DB.Where("f_appid = ? and f_version = ?", appid, version).Model(&adminModel.XAdminPermissionInfo{}).Count(&total).Error
	if err == nil {
		if total > 0 {
			defaultOrm.DB.Create(&records)
		}
	}
}

/**
*查询应用的权限标识列表
* @param AppId 应用id
* @return  未找到时返回null
 */
func (service *XAdminPermissionInfoService) SelectByAppID(AppId int) *[]adminModel.XAdminPermissionInfo {
	var result []adminModel.XAdminPermissionInfo
	err := defaultOrm.DB.Model(&adminModel.AdminApp{}).Where("f_appid = ? ", AppId).Find(&result).Error

	if err == nil {
		return &result
	}
	return nil
}
